iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
1
AI & Data

30 天學會深度學習和 Tensorflow系列 第 22

21. 深度學習甜點系列:以字母為基礎的語言模型

  • 分享至 

  • xImage
  •  

在之前的文章中,我們不停地提到 Word embedding 的概念。一個簡潔的定義便是將離散的字詞表示(如使用 one-hot encoding)映對到新的特徵空間一個向量位置,可用連續的實數來表示(word vector)。然而這些字詞向量位在的新的特徵空間通常具有一些語義上的群聚。如下投影片截圖所示:

Featurized Word Embedding

上圖的上方表格,行是不同的字詞,而列則是語義上相似的群聚名稱。可以看到許多語義相似的字詞向量,如帶有性別語意的男人(Man)和女人(Women)則可以形成性別(Gender)的群聚。而下圖則是將高維的字詞向量透過一種稱為 tSNE (t-Distributed Stochastic Neighbor Embedding 的縮寫)的投影演算法,映射到二維的空間中。此種演算法在投影至低維空間中,會盡量保持任兩點在高維空間的相鄰關係,使用的是和 PCA 不同的非線性轉換,比較近似於 Manifold ,以多個低維的次空間近似的方式來維持前所述的限制。

可以在上圖下方的二維字詞向量視圖看到,即使在上表中屬於不同的語義群聚,仍然在新的向量空間中相似。如歸於性別的男人和女人,以及皇室稱呼(Royal)的國王(King)和皇后(Queen)。這是因為大部分的群聚不是完全分離的,甚至這些群聚可以是階層式的,如性別可以包括皇室稱呼等。

如何找出字詞本身的表示法,映對到具有語義意義的特徵向量,則有不同的作法。之前以群聚的方法來學習 word embedding,可以使用在自然語言中常用的 topic model 的方式來學習。而上一篇所介紹的廣泛應用在自然語言處理領域上的 word2vec,則是使用上下文為限制,以監督學習的方法來間接學習 word embedding。

要注意的是,word embedding 本身是沒有一個標準答案,所以無法直接用監督學習的方式來直接學習,然而我們可以透過檢視 word embedding 在代表字詞的意義時,來評估各種方法學習到的 word embedding 的表現如何。

以下就是一個稱職的 word embedding 須有的特性:

Properties of Word Embedding:

  1. 須維持字詞語義相似程度(Analogy)
  2. 有較佳的通用性(generality)

光於以上兩點可以用下面的投影片截圖來說明:
word analogy
在上圖的左方是一個投影至 2D 的字詞向量簡圖,一樣地,還是用 King-Queen 和 Man-Woman 這兩組字詞來做說明。一個良好的 word embedding 應該要能維持字詞之間的相似程度。用數學來描述這個限制,即是在新的字詞向量空間中,Man 和 Woman 的向量距離(使用向量減髮),應當近似於 King-Queen 的向量距離,因為這兩組單詞在語義上相似。

更進一步,我們可以建立一個目標函式,在這個函式中,我們企圖找出能最大化與 King 這個單詞相似度的單詞,給定 Man-Woman 的向量相似程度。透過對已知的三個字詞向量做代數移項,我們可以重新將上述的目標函式呈現如上圖下的公式。而一個稱職的 word embedding,應當能從最佳化上述目標函式,找到與 King 匹配的單詞是 Queen。

在這裡單詞相似度的量度,可以用向量常用的量度方法,如 cosine similarity 或 Euclidean distance。

最後,基於上面的相似度最佳化,一個稱職的 word embedding 需要對字詞之間的關係能有推測的通用性。如,Man-Woman 除了能推測 King-Queen 外,亦能維持 Boy-Girl 的關係。而首都地名的關係,亦能推廣到不同的地方,而不僅僅只是訓練集中所見的字詞關聯而已。

De-bias word embedding

這個問題主要是要反映因為訓練資料中,尤其是語言資料,本身含有人類文化中固有的偏見,常見的如性別刻板印象,種族偏差等等。因為訓練資料本身中具有這些隱含在文化中的使用方式,而造成了一些訓練的字詞向量中,如反映人類文化,而產生「歧視」的結果。這樣的「歧視」結果,在某些希望矯正人類文化中的偏差現象並沒有任何幫助,甚至會加劇本身就有的歧視現象。我們可以用課程中以偏差的性別刻板印象做解釋,可見下圖:

Word Embedding Bias

可以看到在具有確定意義(definitional)的語詞,如具有確定性別意義的單詞對,如之前所見過的 Man:Woman vs King:Queen,,出現了女性主義者會大發雷霆的配對,那就是不具有確定性別意義的單詞對,如職業(程式設計師 vs 管家,與醫生 vs 護士等),都帶有性別的刻板印象。

而課程中所引用的論文中,所使用的 de-bias 演算法,可以簡述為下列三個步驟:

  1. 確認 bias 的方向(identify bias direction):在這一步中,將會取多個相近的單詞配對,以確定是 word embedding 中的哪一維度發生偏差。
  2. 藉著投影至未發生 bias 的其他維度,中立化不該具有 bias 的單詞(non-definitional word)。
  3. 使相鄰單字具有相等的距離(equalize pairs)

在下圖的投影片投影,可以看到發生 bias 的維度是屬於性別,繪於X-軸,而 Y 軸則是剩下的維度(因為 word embedding 通常是高維,如 Word2Vec 通常使用高達 300 的維度),在這裡我們僅以兩個維度來表示。

Dibase Word Embedding

Character-based embedding:

除了用單詞為基礎所訓練的語言模型,另一種則是使用英文字母作為基礎的語言模型。和單詞為基礎的語言模型比較,英文字母作為基礎的語言模型並無以下問題:

  1. 字彙集大小爆炸的問題:相對於可以無限增加的字彙集大小,英文字母作為基礎的語言模型的字彙集是有限的。
  2. 無需太繁瑣的字詞前處理:若在字母層級,因為精度較小,所以在字詞層級中相等的變化是捕捉不到的。但也由於此原因,所以無須對字詞做前處理。
  3. 較為強健抵抗 OOV (Out of Vocabulary)的發生:對於從網路爬蟲得到的語詞訓練庫,經常遇到拼錯字,縮寫等等的新創語詞,因而造成大量詞語未曾收錄在以訓練好的字彙集中(OOV)。因為單詞為基礎的語言模型的字彙集大小是有限而且相對而言為小,故 OOV 的情況較不常發生。

既然以英文字母作為基礎的模型有上述的幾點好處,那麼為什麼還要訓練以單詞為基礎的語言模型呢?因為以單詞為基礎的語言模型有以下幾點優於以英文字母為基礎的語言模型的好處:

  1. 保留語義:如前所述,在字母層級無法辨識單詞層級間的細微變化,於是一個動詞的單複數變化,在字母層級是屬於不同的意義。事實上,字母層級的 embedding 主要是捕捉單詞的型態,而完全無法捕捉如上所述,可以依語義的相似程度形成群聚。
  2. 較短的長期依賴:比較起字母層級,要捕捉主詞與動詞之間的相依關係,顯然地,以單詞為單位組成的序列,主動詞間的距離較字母為單位的序列短。

由於兩個模型互有千秋,所以 Facebook 研究中心,便提出了綜合兩者的 word embedding 模型,被稱為 FastText。

FastText word embedding 在原本的 Word2Vec 加上了字母層級的 embedding,主要是抵抗 OOV 的情況。在這個模型之下,每一個單詞裡的字母 embedding 會相加且併入單詞層級的 embedding 中。

最後,雖然字母層級的 embedding 不如單詞層級廣泛應用,但在對話產生上卻獲得相當大的成功!明天,我們就要來看看如何使用字母層級的語言模型,來做語言生成。


上一篇
20. 深度學習甜點系列:以單字為基礎的語言模型
下一篇
22. 深度學習甜點系列:語言生成模型
系列文
30 天學會深度學習和 Tensorflow30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言